//token请求验证
import axios from "axios";
import {  message } from 'antd';
// 提供请求拦截器req就是浏览器发送服务器的请求对象
axios.interceptors.request.use((req)=>{
    // const token = storageUtils.getStorage("token")
    let token = localStorage.getItem("token")
    if(token){
        // 匹配token里面的引号，如果有双引号，替换
        token = token.replace(/\"/g,"")
        req.headers.Authentication = token
    }
    // 在请求拦截器，return结果才会继续往后执行
    return req;
},(err)=>{
    // 控制台就能看到网络请求失败的效果
    Promise.reject(err)
})
// 提供响应拦截器
axios.interceptors.response.use((resp)=>{
    return resp
},(err)=>{
    // 处理服务器返回的各种异常,异常结果
    const response = err.response
    if(response){
        switch(response.status){
            case 500:
                message.error("服务器异常，稍后再试")
                break;
            case 401:
                message.error("身份认证过期，请重新登录")
                localStorage.removeItem("userInfo")
                localStorage.removeItem("token")
                // 跳转回登录
                window.location.href="/login"
                break;
            case 404:
                message.error("请求路径发生变化")
                break;
        }
    }
    return Promise.reject(err)

})
